package array

// DropRightWhile 创建一个切片数组，去除array中从 predicate 返回假值开始到尾部的部分。predicate 会传入3个参数： (value, index, array)。
func DropRightWhile(array []T, predicate func(value T, index int, array []T) bool) []T {
	var startIndex = 0
	for index, value := range array {
		if !predicate(value, index, array) {
			startIndex = index
			break
		}
	}
	return Slice(array, 0, startIndex)
}
